<%-- 
    Document   : subir
    Created on : 6/10/2011, 01:29:11 PM
    Author     : Jose
--%>

<%@ page import="java.util.*" %>
<%@ page import="org.apache.commons.fileupload.*" %>
<%@ page import="org.apache.commons.fileupload.disk.*" %>
<%@ page import="org.apache.commons.fileupload.servlet.*" %>
<%@ page import="org.apache.commons.io.*" %>
<%@ page import="java.io.*" %>
<%@ page import="PaquetesJL.*" %>
<%@page import="java.sql.ResultSet" %>

<%    

    String ImagesUpload = pageContext.getServletContext().getInitParameter("ImagesUpload");
    FileItemFactory file_factory = new DiskFileItemFactory();
    ServletFileUpload servlet_up = new ServletFileUpload(file_factory);
    List items = servlet_up.parseRequest(request);

    HashMap<String,String> parametros=new HashMap<String,String>();
    boolean DatosLlenos=true,NitNumerico=true;
    for(int i=0;i<items.size() && DatosLlenos;i++){		
        FileItem item = (FileItem) items.get(i);		
        String valor="";        
        if (item.isFormField()){
            valor=item.getString();
            if(valor.isEmpty() && !item.getFieldName().contentEquals("cliente_apellido") 
                    && !item.getFieldName().contentEquals("cliente_cedula"))
                DatosLlenos=false;            
        }else{
            if(item.getName().isEmpty()){
                DatosLlenos=false;
            }else{
                //creamos un nombre, para que no se sobbre-escriban archivos
                valor=ImagesUpload+(new Date().getTime())+item.getName();
                //cual sera la ruta al archivo en el servidor
                File archivo_server = new File(valor);
                //y lo escribimos en el servido
                item.write(archivo_server);
            }
	}        
	//guardamos los parametros dentro del hashmap
	parametros.put(item.getFieldName().toLowerCase(),valor);        
    }    
    String mensaje="";
    try{
        int a=Integer.parseInt(parametros.get("cliente_nit"));
    }catch(Exception e){
        NitNumerico=false;
    }
    if(!DatosLlenos){
        mensaje="Todos los parametros excepto el apellido y la cedula son obligatorios.";
    }else if(!NitNumerico){
        mensaje="El nit debe estar conformado solamente por numeros.";
    }else{
        String sqlServer = pageContext.getServletContext().getInitParameter("sqlServer");
        String databaseName = pageContext.getServletContext().getInitParameter("databaseName");
        String userName = pageContext.getServletContext().getInitParameter("userName");
        String PasswordP = pageContext.getServletContext().getInitParameter("password");    
        String Backup = pageContext.getServletContext().getInitParameter("RutaBackup");
        
        byte[] decodedBytes = ConexionBD.decode(PasswordP);
        String decodedPassword = new String(decodedBytes).trim();
        
        if(parametros.get("cliente_cedula").toString().isEmpty())
            parametros.put("cliente_cedula", "null");
        if(parametros.get("cliente_apellido").toString().isEmpty())
            parametros.put("cliente_apellido", "null");
        
        
        ConexionBD Conexion = new ConexionBD(sqlServer, databaseName, userName, decodedPassword, Backup);        
        mensaje=(Conexion.CrearCliente(parametros.get("cliente_nombre"), parametros.get("cliente_apellido"), parametros.get("cliente_cedula"),
                Integer.parseInt(parametros.get("cliente_tipo")),parametros.get("cliente_foto"), parametros.get("cliente_firma"),"0"));        
    }
    response.sendRedirect("../ManejoClientes.jsp?Mensaje="+mensaje);          
%>

